- Fail <E> (E Value)
- MapFail <F> (Func<E, F> f)
- ToEither <A> ()
- ToString ()
- SelectMany <B, C> (Func<Unit, Pure<B>> bind, Func<Unit, B, C> project)
- SelectMany <B, C> (Func<Unit, Option<B>> bind, Func<Unit, B, C> project)
- FailExtensions
- ToFin <A> (this Fail<Error> fail)
- ToValidation <F, A> (this Fail<F> fail)
- ToEff <RT, A> (this Fail<Error> fail)
- ToEff <A> (this Fail<Error> fail)
- Pure <A> (A Value)
- Map <B> (Func<A, B> f)
- Bind <B> (Func<A, Pure<B>> f)
- Bind <L> (Func<A, Fail<L>> f)
- Bind <B> (Func<A, IO<B>> f)
- SelectMany <B, C> (Func<A, Pure<B>> bind, Func<A, B, C> project)
- SelectMany <L, C> (Func<A, Fail<L>> bind, Func<A, Unit, C> project)
- SelectMany <B, C> (Func<A, IO<B>> bind, Func<A, B, C> project)
- ToOption ()
- ToEither <L> ()
- ToFin ()
- ToIO ()
- ToEff <RT> ()
- ToEff ()
- Bind <L, B> (Func<A, Either<L, B>> bind)
- Bind <B> (Func<A, Fin<B>> bind)
- Bind <RT, B> (Func<A, Eff<RT, B>> bind)
- Bind <B> (Func<A, Eff<B>> bind)
- Bind <M, B> (Func<A, K<M, B>> bind)
- Bind <Env, B> (Func<A, Reader<Env, B>> bind)
- Bind <Env, M, B> (Func<A, ReaderT<Env, M, B>> bind)
- Bind <S, B> (Func<A, State<S, B>> bind)
- Bind <S, M, B> (Func<A, StateT<S, M, B>> bind)
- Bind <M, B> (Func<A, OptionT<M, B>> bind)
- Bind <B> (Func<A, Option<B>> bind)
- SelectMany <L, B, C> (Func<A, Either<L, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Fin<B>> bind, Func<A, B, C> project)
- SelectMany <RT, B, C> (Func<A, Eff<RT, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Eff<B>> bind, Func<A, B, C> project)
- SelectMany <M, B, C> (Func<A, K<M, B>> bind, Func<A, B, C> project)
- SelectMany <Env, B, C> (Func<A, Reader<Env, B>> bind, Func<A, B, C> project)
- SelectMany <Env, B, C> (Func<A, K<Reader<Env>, B>> bind, Func<A, B, C> project)
- SelectMany <Env, M, B, C> (Func<A, ReaderT<Env, M, B>> bind, Func<A, B, C> project)
- SelectMany <Env, M, B, C> (Func<A, K<ReaderT<Env, M>, B>> bind, Func<A, B, C> project)
- SelectMany <S, B, C> (Func<A, State<S, B>> bind, Func<A, B, C> project)
- SelectMany <S, B, C> (Func<A, K<State<S>, B>> bind, Func<A, B, C> project)
- SelectMany <S, M, B, C> (Func<A, StateT<S, M, B>> bind, Func<A, B, C> project)
- SelectMany <S, M, B, C> (Func<A, K<StateT<S, M>, B>> bind, Func<A, B, C> project)
- SelectMany <M, B, C> (Func<A, OptionT<M, B>> bind, Func<A, B, C> project)
- SelectMany <M, B, C> (Func<A, K<OptionT<M>, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Option<B>> bind, Func<A, B, C> project)
- PureExtensions
record Fail <E> (E Value) Source #
Represents an error value.
On its own this doesn't do much, but allows other monads to convert from it and provide binding extensions that mean it can be lifted into other monads without specifying lots of extra generic arguments.
type | E | Bound value type |
param | Value | Bound value |
method Either<E, C> SelectMany <B, C> (Func<Unit, Pure<B>> bind, Func<Unit, B, C> project) Source #
method Either<E, C> SelectMany <B, C> (Func<Unit, Option<B>> bind, Func<Unit, B, C> project) Source #
class FailExtensions Source #
record Pure <A> (A Value) Source #
Represents a pure value. Usually understood to be the 'success' value.
On its own this doesn't do much, but allows other monads to convert from it and provide binding extensions that mean it can be lifted into other monads without specifying lots of extra generic arguments.
type | A | Bound value type |
param | Value | Bound value |
method Pure<B> Map <B> (Func<A, B> f) Source #
Functor map
type | B | Result bound value type |
param | f | Mapping function |
returns | Result of the applying the mapping function to the |
method Pure<B> Bind <B> (Func<A, Pure<B>> f) Source #
Monadic bind
type | B | Result bound value type |
param | f | Bind function |
returns | Result of the applying the bind function to the |
method Either<L, A> Bind <L> (Func<A, Fail<L>> f) Source #
Monadic bind
type | L | Result bound value type |
param | f | Bind function |
returns | Result of the applying the bind function to the |
method IO<B> Bind <B> (Func<A, IO<B>> f) Source #
Monadic bind
type | B | Result bound value type |
param | f | Bind function |
returns | Result of the applying the bind function to the |
method Pure<C> SelectMany <B, C> (Func<A, Pure<B>> bind, Func<A, B, C> project) Source #
Monadic bind and project
type | B | Result of the bind operation bound value type |
type | C | Result of the mapping operation bound value type |
param | bind | Bind function |
param | project | Project function |
returns | Result of the applying the bind and mapping function to the |
method Either<L, C> SelectMany <L, C> (Func<A, Fail<L>> bind, Func<A, Unit, C> project) Source #
Monadic bind and project
type | L | Result of the bind operation bound value type |
type | C | Result of the mapping operation bound value type |
param | bind | Bind function |
param | project | Project function |
returns | Result of the applying the bind and mapping function to the |
method IO<C> SelectMany <B, C> (Func<A, IO<B>> bind, Func<A, B, C> project) Source #
Monadic bind and project
type | B | Result of the bind operation bound value type |
type | C | Result of the mapping operation bound value type |
param | bind | Bind function |
param | project | Project function |
returns | Result of the applying the bind and mapping function to the |
method ReaderT<Env, M, B> Bind <Env, M, B> (Func<A, ReaderT<Env, M, B>> bind) Source #
method StateT<S, M, B> Bind <S, M, B> (Func<A, StateT<S, M, B>> bind) Source #
method Either<L, C> SelectMany <L, B, C> (Func<A, Either<L, B>> bind, Func<A, B, C> project) Source #
method Fin<C> SelectMany <B, C> (Func<A, Fin<B>> bind, Func<A, B, C> project) Source #
method Eff<RT, C> SelectMany <RT, B, C> (Func<A, Eff<RT, B>> bind, Func<A, B, C> project) Source #
method Eff<C> SelectMany <B, C> (Func<A, Eff<B>> bind, Func<A, B, C> project) Source #
method K<M, C> SelectMany <M, B, C> (Func<A, K<M, B>> bind, Func<A, B, C> project) Source #
method Reader<Env, C> SelectMany <Env, B, C> (Func<A, Reader<Env, B>> bind, Func<A, B, C> project) Source #
method Reader<Env, C> SelectMany <Env, B, C> (Func<A, K<Reader<Env>, B>> bind, Func<A, B, C> project) Source #
method ReaderT<Env, M, C> SelectMany <Env, M, B, C> (Func<A, ReaderT<Env, M, B>> bind, Func<A, B, C> project) Source #
method ReaderT<Env, M, C> SelectMany <Env, M, B, C> (Func<A, K<ReaderT<Env, M>, B>> bind, Func<A, B, C> project) Source #
method State<S, C> SelectMany <S, B, C> (Func<A, State<S, B>> bind, Func<A, B, C> project) Source #
method State<S, C> SelectMany <S, B, C> (Func<A, K<State<S>, B>> bind, Func<A, B, C> project) Source #
method StateT<S, M, C> SelectMany <S, M, B, C> (Func<A, StateT<S, M, B>> bind, Func<A, B, C> project) Source #
method StateT<S, M, C> SelectMany <S, M, B, C> (Func<A, K<StateT<S, M>, B>> bind, Func<A, B, C> project) Source #
method OptionT<M, C> SelectMany <M, B, C> (Func<A, OptionT<M, B>> bind, Func<A, B, C> project) Source #
method OptionT<M, C> SelectMany <M, B, C> (Func<A, K<OptionT<M>, B>> bind, Func<A, B, C> project) Source #
method Option<C> SelectMany <B, C> (Func<A, Option<B>> bind, Func<A, B, C> project) Source #
class PureExtensions Source #
method Pure<A> Flatten <A> (this Pure<Pure<A>> mma) Source #
Monadic join
type | A | Bound value type |
param | mma | Nested |
returns | Flattened monad |
method Validation<F, B> Bind <F, A, B> (this Pure<A> ma, Func<A, Validation<F, B>> bind) Source #
method Validation<F, C> SelectMany <F, A, B, C> ( this Pure<A> ma, Func<A, Validation<F, B>> bind, Func<A, B, C> project) Source #